"""
页面等待：
    1. 强制等待： 通过time模块，time.sleep()
        缺点： 不管请求资源需要多长时间，等待的时间都是固定的，等待时间不能动态变化，有时候会很费时
    2. 隐式等待： 通过driver.implicitly_wait(等待的时间，以秒为单位)，可以设置最大请求时间，如果在时间内获取相应就继续，
        如果超过时间未得到相应就报错
    3. 显示等待： 软件测试的时候用的
"""
import time
from selenium import webdriver

url = 'https://www.baidu.com'

driver = webdriver.Chrome(executable_path=r'E:\ChromeDriver\chromedriver_win32/chromedriver.exe')

driver.maximize_window()
driver.get(url)

# 设置等待时间
driver.implicitly_wait(10)

el = driver.find_element_by_xpath('//*[@id="s_lg_img_new"]')  # 这个元素存在，如果1s找到结果，那么就完成了这次等待就完成了
print(el)
# el = driver.find_element_by_xpath('//*[@id="s_lg_img_news"]')  # 这个元素不存在，设置等待时间为10秒时，10秒过后程序才会报错
# print(el)

time.sleep(2)
driver.quit()

